package cn.itsource.config.oauth2;

/**
 * @Author: Jason
 * @Date: 2022/9/13 11:59
 */
////资源服务配置
//@Configuration
////开启资源服务配置
//@EnableResourceServer
////开启方法授权
//@EnableGlobalMethodSecurity(prePostEnabled = true)
//public class MyResourceServerConfig extends ResourceServerConfigurerAdapter {
//
//    //1.资源服务安全配置
//
//    //JWT令牌
//    @Bean
//    public TokenStore tokenStore(){
//        return new JwtTokenStore(jwtAccessTokenConverter());
//    }
//
//    //设置JWT签名密钥。它可以是简单的MAC密钥，也可以是RSA密钥
//    private final String sign_key  = "itsource";
//
//    //JWT令牌校验工具
//    @Bean
//    public JwtAccessTokenConverter jwtAccessTokenConverter(){
//        JwtAccessTokenConverter jwtAccessTokenConverter = new JwtAccessTokenConverter();
//        //设置JWT签名密钥。它可以是简单的MAC密钥，也可以是RSA密钥
//        jwtAccessTokenConverter.setSigningKey(sign_key);
//        return jwtAccessTokenConverter;
//    }
//
//    @Override
//    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
//        //资源ID，对应客户端详情表(oauth_client_details)中的resource_ids字段中配置的值
//        resources.resourceId("courseId").tokenStore(tokenStore());
//    }
//
//    //2.资源服务的资源的授权配置，比如那些资源放行，那些资源需要什么权限等等
//    @Override
//    public void configure(HttpSecurity http) throws Exception {
//        http.authorizeRequests()
//                //校验scope必须为hrm ， 对应客户端详情表(oauth_client_details)中的scope字段中配置的值
//                .antMatchers("/**").access("#oauth2.hasScope('hrm')")
//                //关闭跨域伪造检查
//                .and().csrf().disable()
//                //把session设置为无状态，意思是使用了token，那么session不再做数据的记录
//                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
//    }
//}
